1. Field of the Invention
This invention is related in general to the field of electronic circuit boards. In particular, the invention comprises utilizing a microprocessor to negotiate communication protocols between a plurality of reconfigurable circuit modules.
2. Description of the Prior Art
It is very common to use electronic circuit boards to hold programmable devices such as Field Programmable Gate Arrays (“FPGAs”), Complex Programmable Logic Devices (“CPLDs”), Digital Signal Processors (“DSPs”), or micro-processors (“uPs”). These circuit boards are often inserted into a motherboard or back-plane which provides communications connectivity with other devices, including a controller computer, and power connections. Connections between the circuit boards and the back-plane usually conform to an industry standard such as PCI, VME, or ISA. Each circuit board connects directly to the back-plane and communication between circuit boards must pass over the back-plane. The number of circuit boards which can be connected together as well as their spatial orientation is dictated by the number and location of connectors on the back-plane.
Circuit boards which are designed to communicate with a computing system over the back-plane must have software drivers written for them. Additionally, circuit boards must have connectors which conform to the relevant industry standard protocol. It would be advantageous to be able to configure circuit boards in a manner which eliminates the limitations of using industry standard protocols and specialized software drivers.
One patent, Gephardt et al. U.S. Pat. No. 5,901,332, discloses configuring a data bus into a plurality of reconfigurable sub-busses. A data-bus controller is provided to control the communication pathway of the sub-busses, with an information flow template being stored in a memory device. Another salient patent, Manning U.S. Pat. No. 6,043,558, discloses a method of connecting electronic components with two edge connectors, one edge adapted to receive power and the second edge adapted to receive communications signals. While outside the restrictions inherent in industry standard protocols, these approaches still require communications between individual circuit boards to traverse the back-plane.
Khosrowpour et al., U.S. Pat. No. 6,477,593, discloses an input/output bridge including a first and second buss and an interconnected stack of circuit boards connected to the first and second busses. Tredennick et al., U.S. Pat. No. 5,583,749, teaches a daughtercard for use in a reconfigurable apparatus, comprised of electrical connections along one edge and electrical connections on the opposite edge. The daughtercards are stacked vertically, allowing communication signals to traverse between the daughtercards. However, both the Khosrowpour and Tredennick inventions still require connecting their respective stacks of circuit boards to a motherboard or back-plane. It would be advantageous to connect circuit boards directly together to form larger functional circuits independent of a motherboard or back-plane.
A commercially available product called ComBlock™, advertised by MSS™, provides circuit boards or modules with multiple connectors. These multiple connectors allow circuit boards to be directly connected together in multi-dimensional arrays. Once assembled, the array need not be connected to a motherboard or back-plane. Rather, the array is controlled by a serial or network interface. The modules are either pre-programmed with desired functionality or include FPGAs which can be programmed by the end user. The electrical pathways of the connectors are usually controlled by programmable input/output pins of programmable devices such as FPGAs and conform to a manufacturer's standard. This prevents electronic devices from different, adjacent modules from attempting to simultaneously drive signals over the same electrical pathway, which could result in damage to one or more of the electronic devices.
End users who program the electronic devices of customizable modules must be careful to follow the connectivity convention of the manufacturer. While highly utilitarian, the ComBlock does not protect the end user from damaging electronic devices by incorrectly configuring modules. It would be advantageous to have a device which negotiates communication pathways between circuit boards and prevents more than one device from attempting to drive an electrical signal pathway.
Therefore, it is desirable to provide a means for connecting circuit boards together in multi-dimensional arrays and provide a means for negotiating the electrical pathways between them.